This invention generally relates to data request integration, and more specifically relates to a method, product, and apparatus for integrating navigation services, resolution services, registration services, and search services of valid and fictitious identifiers across naming systems.
In the same way that a street address represents a location in the physical world, a domain name can be used to represent a location on the Internet. In the physical world, one relies on both street addresses and the postal system to send information back and forth between individuals and organizations. On the Internet, one relies on the Domain Name System (DNS) to translate domain names into Internet addresses.
In general, names are thought of as discrete emblems used to establish or designate identity; addresses are thought of as emblems designating location. Domain names might seem to be unusual because they appear to be both names and addresses; they both locate and identify Internet resources. Yet people""s personal names, for example, establish identity, and such identifiers travel with the individual rather than changing when the person changes location. Street addresses or geographic names, by contrast, are more static in order to establish location. Yet such addresses and geographic names also serve to identify the physical place, differentiating it from other places.
Geographic names of all kindsxe2x80x94street addresses, zip codes, countiesxe2x80x94are in fact overlays on an unchanging numerical system of longitude and latitude, which is a universally recognized designator and locator for a particular place on the earth""s surface. In this sense, geographic names are much like Internet domain names, which are an overlay of Internet address number designations.
Name space is a set of names in which all names are unique. Address space is a set of addresses in which all addresses are unique. Names are commonly used as mnemonic devices to help remember information. For instance, names are used to remember telephone numbers, and domain names are used to remember Internet addresses. A recent area of worldwide concern is the allocation of name space on the Internet.
The Internet is a vast computer network having many smaller networks that span the world. A network provides a distributed communicating system of computers that are interconnected by various electronic communication links and computer software protocols. Because of the Internet""s distributed and open network architecture, it is possible to transfer data from one computer to any other computer worldwide. In 1991, the World-Wide-Web (WWW or Web) revolutionized the way information is managed and distributed.
The Web is based on the concept of hypertext and a transfer method known as Hypertext Transfer Protocol (HTTP) which is designed to run primarily over a Transmission Control Protocol/Internet Protocol (TCP/IP) connection that employs a standard Internet setup. A server computer may provide the data and a client computer may display or process it. TCP may then convert messages into streams of packets at the source, then reassemble them back into messages at the destination. Internet Protocol (IP) handles addressing, seeing to it that packets are routed across multiple nodes and even across multiple networks with multiple standards. HTTP protocol permits client systems connected to the Internet to access independent and geographically scattered server systems also connected to the Internet.
Client side browsers, such as Netscape Navigator and/or Microsoft Internet Explorer (MSIE) provide graphical user interface (GUI) based client applications that implement the client side portion of the HTTP protocol. One format for information transfer is to create documents using Hypertext Markup Language (HTML). HTML pages are made up of standard text as well as formatting codes that indicate how the page should be displayed. The client side browser reads these codes in order to display the page. A web page may be static and requires no variables to display information or link to other predetermined web pages. A web page is dynamic when arguments are passed which are either hidden in the web page or entered from a client browser to supply the necessary inputs displayed on the web page. Common Gateway Interface (CGI) is a standard for running external programs from a web server. CGI specifies how to pass arguments to the executing program as part of the HTTP server request. Commonly, a CGI script may take the name and value arguments from an input form of a first web page which is be used as a query to access a database server and generate an HTML web page with customized data results as output that is passed back to the client browser for display.
The Web is a means of accessing information on the Internet that allows a user to xe2x80x9csurf the webxe2x80x9d and navigate the Internet resources intuitively, without technical knowledge. The Web dispenses with command-line utilities, which typically require a user to transmit sets of commands to communicate with an Internet server. Instead, the Web is made up of millions of interconnected web pages, or documents, which may be displayed on a computer monitor. Hosts running special servers provide the Web pages. Software that runs these Web servers is relatively simple and is available on a wide range of computer platforms including PC""s. Equally available is a form of client software, known as a Web browser, which is used to display Web pages as well as traditional non-Web files on the client system.
A network resource identifier such as a Uniform Resource Identifier (URI) is a compact string of characters for identifying an abstract or physical resource. URIs are the generic set of all names and addresses that refer to objects on the Internet. URIs that refer to objects accessed with existing protocols are known as Uniform Resource Locators (URLs). A URL is the address of a file accessible on the Internet. The URL contains the name of the protocol required to access the resource, a domain name, or IP address that identifies a specific computer on the Internet, and a hierarchical description of a file location on the computer. For example the URL xe2x80x9chttp://www.example.com/index.htmlxe2x80x9d, where xe2x80x9chttpxe2x80x9d is the scheme or protocol, xe2x80x9cwww.example.comxe2x80x9d is the Fully Qualified Domain Name (FQDN), and xe2x80x9cindex.htmlxe2x80x9d is the filename located on the server.
Because an Internet address is a relatively long string of numbers (e.g., 31.41.59.26) that is difficult to remember, Internet users rely on domain names, memorable and sometimes catchy words corresponding to these numbers, in order to use electronic mail (e-mail) and to connect to Internet sites on the Web. The Domain Name System (DNS) is a set of protocols and services on a network that allows users to utilize domain names when looking for other hosts (e.g., computers) on the network. The DNS is composed of a distributed database of names. The names in the DNS database establish a logical tree structure called the domain name space. Each node or domain in the domain name space is named and may contain subdomains. Domains and subdomains are grouped into zones to allow for distributed administration of the name space.
The DNS provides a mechanism so backup databases may be identified in case the first one becomes unavailable. DNS databases are updated automatically so that information on one name server does not remain out-of-date for long. A client of the DNS is called a resolver; resolvers are typically located in the application layer of the networking software of each TCP/IP capable machine. Users typically do not interact directly with the resolver. Resolvers query the DNS by directing queries at name servers, which contain parts of the distributed database that is accessed by using the DNS protocols to translate domain names into IP addresses needed for transmission of information across the network.
The Berkeley Internet Name Domain (BIND) may implement an Internet name server running UNIX type operating system. The BIND consists of a name server and a resolver library. BIND is fully integrated into UNIX network programs for use in storing and retrieving host names and addresses by calling a routine from the resolver library called gethostbyname( ) which returns the IP address corresponding to a given Internet host name. Error return status from gethostbyname( ) is indicated by return of a NULL pointer.
For instance, at the heart of Netscape client products lies the Netscape Network Library (netlib). A necessity of any network based client browser application is to send and receive data over a connection. This is accomplished in netlib by making a call to NET_GetURL( ). Among NET_GetURL( )""s arguments is a URL_Struct which contains the actual URL to be retrieved. When a call to NET_GetURL( ) is made, a connection is established between the client making the request and the host machine named in the URL, a request is sent in a particular format specified by the protocol (e.g., http, ftp), and data is received by the client, from the host machine.
In order to resolve host names, netlib uses a standard DNS lookup mechanism. NET_FindAddress( ) makes the gethostbyname( ) call to lookup the IP address for the specified host from a DNS database stored on a DNS server, and is called from NET_BeginConnect( ). If a numeric IP address is passed into NET_FindAddress( ), it is passed directly into the gethostbyname( ) call which will always return success when an IP address is passed in. NET_FindAddress( ) is actually called repeatedly until it returns success or failure. Upon success the host entity struct is filled out, and cached. Upon failure, the host entity struct is freed and the xe2x80x9cnot foundxe2x80x9d result is passed back to the caller.
A domain name consists of two parts: a host and a domain. Technically, the letters to the right of the xe2x80x9cdotxe2x80x9d (e.g., gen-eric.com) are referred to as Top Level Domains (TLDs), while hosts, computers with assigned IP addresses that are listed in specific TLD registries are known as second-level domains (SLDs). For the domain name xe2x80x9cgen-eric.comxe2x80x9d, xe2x80x9c.comxe2x80x9d is the TLD, and xe2x80x9cgen-ericxe2x80x9d is the SLD. Domain name space is the ordered hierarchical set of all possible domain names either in use or to be used for locating an IP address on the Internet. TLDs are known as top-level domains because they comprise the highest-order name space available on the Internet. Second-level domains, as well as third-level domains (3LDs) such as xe2x80x9ceric.gen-eric.comxe2x80x9d, are subsidiary to TLDs in the hierarchy of the Internet""s DNS.
There are two types of top-level domains, generic and country code. Generic top-level domains (gTLDs) were created to allocate resources to the growing community of institutional networks, while country code top-level domains (ccTLDs) were created for use by each individual country, as deemed necessary. More than 240 national, or country-code TLDs (e.g., United States (.us), Japan (.jp), Germany (.de), etc.) are administered by their corresponding governments, or by private entities with the appropriate national government""s acquiescence. A small set of gTLDs does not carry any national identifier, but denote the intended function of that portion of the domain space. For example, xe2x80x9c.cornxe2x80x9d was established for commercial networks, xe2x80x9c.orgxe2x80x9d for not-for-profit organizations, and xe2x80x9c.netxe2x80x9d for network gateways. The set of gTLDs was established early in the history of the DNS and has not been changed or augmented in recent years (COM, ORG, GOV, and MIL were created by January 1985, NET in July 1985, and INT was added in November 1988).
The DNS is operated by a Network Information Center (NIC) in each country to act as authority for administering the respective ccTLD zone file portion of the DNS database. The Internet Network Information Center (InterNIC) previously administered by the National Science Foundation (NSF), was formed to preside as authority over the gTLD zone files. In 1993, InterNIC was privatized and Network Solutions Inc. (NSI) was chosen to perform the registration and propagation of these key gTLDs, under a five-year cooperative agreement with the NSF.
Most recently, NSI and officials from the Department of Commerce""s National Telecommunications and Information Administration (NTIA) have agreed to a two-year extension of their Cooperative Agreement through Sep. 30, 2000. Included in the extension are provisions to transfer relevant US Government authority over some domain name system functions to a new non-profit corporation. Incorporated and headquartered in California, the Internet Corporation for Assigned Names and Numbers (ICANN) is the non-profit corporation that was formed to take over responsibility for the IP address space allocation, protocol parameter assignment, domain name system management, and root server system management functions now performed under U.S. Government contract by Internet Assigned Numbers Authority (IANA) and other entities. The IANA, also headquartered in California, is the overall authority for day-to-day administration of the DNS. IANA staff carries out administrative responsibilities for the assignment of IP Addresses, Autonomous System Numbers, TLDs, and other unique parameters of the DNS and its protocols.
ICANN, NTIA, and NSI agreed to a migration to a shared registration system (SRS) in a phased approach beginning Mar. 31, 1999 with full implementation by Jun. 1, 1999. NSI has implemented a SRS to support multiple licensed, accredited registrars offering registration services. NSI and other domain name registrars function as retailers of domain name registration services through NSI""s SRS. NSI will also continue in its role as the registry or wholesaler of xe2x80x9c.comxe2x80x9d, xe2x80x9c.netxe2x80x9d, and xe2x80x9c.orgxe2x80x9d domain name registrations. To date, NSI has registered more than 11,000,000 domain names, or SLDs, in xe2x80x9c.comxe2x80x9d, xe2x80x9c.netxe2x80x9d, xe2x80x9c.orgxe2x80x9d, and xe2x80x9c.eduxe2x80x9d.
Domain name registration for a given NIC authority may be accessed by a TCP/IP application called WHOIS, which queries a NIC database to find the name of network and system administrators, system and network points-of-contact, and other individuals who are registered in appropriate databases. Domain names are identifiers used for accessing a resource and retrieving contact information of the registrant or domain name holder of that resource. The availability of a domain name from a NIC authority for a given TLD may be determined by submitting a WHOIS request. When no match in the respective WHOIS database is found, then the domain name is most probably available for registration. Regional WHOIS registries are maintained by NSI and ARIN (American Registry for Internet Numbers) located in the U.S., APNIC (Asia-Pacific Network Information Center) located in Australia, and RIPE NCC located in the Netherlands.
DNS supports only name resolution services rather than directory or registration services. Resource location is determined by resolving a query in the DNS and domain name availability is determined by using a WHOIS service to query an appropriate NIC database. Until Spring 1999, NSI managed a single centralized WHOIS database for gTLDs. Each ICANN accredited registrar has the right to populate and maintain their own WHOIS database. Since June 1999, the WHOIS database has become distributed, similar to that of the DNS. All WHOIS requests query a server located at xe2x80x9cwhois.internic.netxe2x80x9d to determine which accredited registrar""s WHOIS server to retrieve contact information from. There is no evidence of new technologies or services that have arisen in response to the introduction of such distributed WHOIS services.
Each day hundreds of thousands of users are connecting to the Internet for the first time. These first time users are already familiar with the concept of a domain name or web address such as xe2x80x9cexample.comxe2x80x9d or a URL such as xe2x80x9chttp://www.example.com/index.htmlxe2x80x9d because of their contact with the myriad of advertisements in print, radio, and television. Because the navigation of network resources is left up to the user, it is quite often that a user may enter a descriptive word and concatenate a TLD such as xe2x80x9c.comxe2x80x9d to it, forming a domain name with the hope of finding information relating to the descriptive word. When a desired resource such as a web page can not be accessed after entering a domain name or URL in the command line of a device or the location field of a web browser, novice users of the Internet may assume that the resource does not exist and the domain name of such resource is available to the user for registration. This is a common mistake. Availability of a domain name is determined by performing a WHOIS request, which remains a separate standalone service.
A growing set of tools and services have enabled users to choose many techniques suited for improved navigation and access to content on a network such as the Internet. Different services are used to access desired content. There are resolution services for the DNS, which receives a domain name (e.g., xe2x80x9cexample.com) from a client for translation into an IP address to access the resources of a specific network addressable device (e.g., web server) on a network such as the Internet. The function of translating a domain name into a corresponding IP address is known as name resolution. Name resolution is performed by a distributed system of name servers that run specialized software known as resolvers to fulfill the resource location request of the client by the successive hierarchical querying of the resource records from zone files.
There are registration services such as the registration of domain names. Domain names are identifiers used for accessing resources and retrieving registrant domain name information. Resource location of a domain name may be determined by resolving a DNS query and domain name availability may be determined by using a WHOIS service to query an appropriate NIC database. There are search services to access searchable databases of network resources that are relied upon daily by millions of users. When a client system receives a search request, a query may be sent to a server connected to the Internet to retrieve Uniform Resource Locators (URLs) that satisfy the search request. Web page results are typically generated and displayed to the client in a batch of hyperlinks that access network resources.
In general, these areas remain as separate services and only a few examples may be demonstrated with respect to the integration of these separate areas. For instance, steps for integration of services have been demonstrated in U.S. Provisional Application Ser. No. 60/130,136 filed Apr. 20, 1999, by Schneider entitled xe2x80x9cMethod and system for integrating resource location and registration servicesxe2x80x9d, U.S. Provisional Application Ser. No. 60/160,125 filed Oct. 18, 1999, by Schneider, entitled xe2x80x9cMethod and system for integrating resource location, search services, and registration servicesxe2x80x9d, and U.S. patent application Ser. No. 09/525,350 filed Mar. 15, 2000, by Schneider, entitled xe2x80x9cMethod for integrating domain name registration with domain name resolution.xe2x80x9d
U.S. Pat. No. 5,778,367 issued on Jul. 7, 1998 by Wesinger Jr., et al., entitled, xe2x80x9cAutomated on-line information service and directory, particularly for the world wide webxe2x80x9d provides a graphical front end to the WHOIS database, with additional hypertext link integration. Links are embedded in the results such that, clicking on a specific result, WHOIS is queried once again with respect to the selected information. This action would produce the same result as if the user had copied down the selected information, navigated to WHOIS and entered the selected information in the lookup field. The ""367 patent automates the WHOIS tool with respect to itself and does not consider automating extended functions of resolution requests or search requests to access other network resources.
Due to domain name registration growth, it requires more labor to find a desirable domain name that is available. As a result companies such as Oingo, Inc., for example, now provide domain name variation services that help registrars increase domain name sales by identifying and suggesting words and phrases related in meaning to the terms sought to be registered. Other improvements to registration services include generating permutations of available domain names in response to supplying a plurality of keywords as a part of a registration request. Though these registration tools have helped growth in registration volume, tools having such name generating features have not been integrated into other types of requests or services (e.g., autosearch feature, search box, streaming data, custom toolbar, personal web assistant, browser plug-in, instant messaging, IRC chat, web conferencing, standalone search/navigation applications, etc.). Currently, domain names are registered by initiating a registration request. There are no services that perform registration requests in response to initiating other request types (e.g., navigation request, search request, resolution request, commerce request, reference request, etc.), nor are other request types performed in response to an initiated registration request.
Resolution requests are most commonly generated in response to input provided to the location field of a web browser. Entering a URL in the location field serves as a means to access content from that URL. Because the location field is critical for accessing resources, the design of such location fields have rivaled much competition and innovation between existing web browser products from companies such as Netscape and Microsoft. Improvements to better track and organize sites of URLs that users have visited such as Bookmark folders, URL history, and the personal toolbar are all examples of functionality designed to help users navigate. Other improvements include spell checking and an autocomplete feature from the URL history as text is entered into the location field.
A more recent feature called Smart Browsing is integrated into Netscape Navigator that uses Internet Keywords so users may streamline the use of URLs and get fast access to web sites using the browser""s location field. Any single or multiword strings typed into the browser""s location field that does not include axe2x80x9c.xe2x80x9d are sent via HTTP to a server at xe2x80x9cnetscape.comxe2x80x9d. The keyword server pulls the string and compares it to several separate lists of keyword-URL pairs. If the keyword system finds a match, it redirects the user""s browser to the URL of the keyword-URL pair. Failing a match against the lists, the user""s browser is redirected to a Netscape Search page with the typed string as the search query. The xe2x80x9c.xe2x80x9d versus xe2x80x9c xe2x80x9d is a key factor in determining what services are used. The detection of a xe2x80x9c.xe2x80x9d implies a domain name whereas the detection of a xe2x80x9c xe2x80x9d implies a search request.
The autosearch feature of Microsoft Internet Explorer (MSIE) is another example of an improvement to the location field of a web browser. The details of the autosearch feature is disclosed in U.S. Pat. No. 6,009,459 issued on Dec. 28, 1999 by Belfiore, et al., entitled, xe2x80x9cIntelligent automatic searching for resources in a distributed environment.xe2x80x9d The ""459 patent specifies a mechanism for a computer system to automatically and intelligently determine what a user intended when the user entered text within the location field of a web browser. Often users improperly enter URLs or enter search terms in a user interface element that requires URLs. If the user enters text that is not a URL, the system may first try to construct a valid URL from the user-entered text. If a valid URL can not be constructed, the browser then automatically formats a search engine query using the user-entered text and forwards the query to an Internet search engine.
In addition, the ""459 patent specifies a template registry that categorizes the specific suitability of a plurality of search engines to locate web sites related to a determined meaning of the specified text. The template is an entry in the registry that includes replaceable characters that may be replaced with the processed text. An example template registry entry that causes the Yahoo! search engine to be called is xe2x80x9chttp://msie.yahoo.com/autosearch?%sxe2x80x9d. The % s is filled in with information regarding the search terms.
Furthermore, the ""459 patent specifies a method which provides for automatically deleting prefix terms from input that are identified as not necessary to perform a search based on the determined meaning of the entered input. Directive terms such as xe2x80x9cgoxe2x80x9d or xe2x80x9cfindxe2x80x9d followed by search terms may be entered within the location field. Such users intend for the web browser to locate web pages that are identified by terms within the text. As the directive terms do not contain content that is useful in conducting a search, these prefix terms are dropped from the text. Though prefixes may help process keywords in a more specific way, there are no such prefixes in use for specifying how domain names may be processed through a user interface element used for search requests, resolution requests, and registration requests. For example, search engine web sites have specified a list of prefixes to assist in performing a more specific search request. Any such prefixes have no relevance to domain names [e.g., valid domain names (VDNs), fictitious domain names (FDNs), and multilingual domain names (MDNs)] but to that of keywords and phrases. In addition, any keywords or phrases processed by the Autosearch feature are not used for other functions or procedures other than that of a search request.
There have been advances with respect to submitting keyword search requests to search engines. RealNames and other companies like Netword use plain language as a means for resource location and have developed their own version of resolution services. Using simplified network addresses in the form of keywords/phrases as opposed to the conventional form of URLs in the DNS, offers the possibility to further contemplate the differences between search requests and resource location. Though an observable fact, little if any has been done to provide integration tools to support these differences. To date, the only advancement demonstrated are the partnerships made with RealNames and different portal web sites. When a search request is performed, input may be forwarded to a RealNames server concurrent with the original search request and if there are any matches, the first result displayed may be a registered RealName which links to a registered web site followed by displaying the search results from the search request.
Though RealNames demonstrates using keywords and phrases from a search request for resource location, there are no methods for detecting a domain name or URL as input from a search request. In effect, a domain name is processed as a literal string or keyword. For example, when a popular web site such as xe2x80x9cnews.comxe2x80x9d is processed from input there is a high probability that the URL xe2x80x9chttp://news.comxe2x80x9d would be displayed as a first link or first few links from the search results. There are no systems/services that guarantee the provision of such a URL as a first link. When a domain name is reserved and has no web site or the domain name corresponds to a web site with little traffic (e.g., web pages having no META tags, etc.), there are no search results, and in turn, no hyperlinks are displayed. This observation is apparent upon surveying the search results of hundreds of search engines and other products/services such as browser plug-ins, custom toolbars, instant messaging (e.g., AIM, ICQ), etc., which clearly indicate that a domain name is processed as a literal string only without consideration for processing input in any way aside from that of a search request. There have been some improvements by providing links to other vendors such as processing the search request and responding with links for a book search at xe2x80x9camazon.comxe2x80x9d or a reference search at xe2x80x9cdictionary.comxe2x80x9d and the like, but there are no such links that provide vendor domain name related services or online identity services in response to a search request.
FIG. 1a depicts a typical output from a search portal web site for the input xe2x80x9czipnames.comxe2x80x9d. Results such as xe2x80x9cfound no document matching your queryxe2x80x9d are returned to the output and hyperlinks that use the input as a search request from another URL are generated and displayed. Such links may redirect to shopping sites and reference sites or to other search engines. It is clear that no provisions have been made to detect the presence of a domain name before or while processing the search request.
If a search request may detect that a domain name is processed as is and/or as a network address then steps of resource location and the use of resolution services or registration services may be made in addition to the search request. No search engines or existing services make use of the xe2x80x9c.xe2x80x9d delimiter to extend searching when processing resolution and/or registration services. Any results that are returned from a search request are based on finding a database match to the domain name as a keyword or literal string. Currently, there are no search engines or resources that generate a link for WHOIS results in response to receiving a network address such as a domain name, FQDN, or URL and may be listed or redirected as part of search results.
Flyswat, Inc., GuruNet Corporation, Third Voice, Inc., Zapper Technologies, Inc., and Annotate.net, Inc. are other companies fundamentally changing the search and navigation category through the development of information delivery service that allow users to quickly connect to a broad array of sources for both information and commerce. For instance, Flyswat is a leading navigation service that turns any word on a computer screen into a link to additional information. Flyswat provides a downloadable utility that identifies and automatically hyperlinks the existing words or phrases in any Web page, enabling users to retrieve relevant information and services simply by clicking on these terms. The Flyswat service also is compatible with any desktop application, such as word processing, spreadsheets, slideshow presentations and more. When users click on words in their personal documents and Web pages, a small window appears presenting definitions, related content and e-commerce service links, news headlines, stock listings, shopping opportunities, or any other relevant information from content providers. Though these navigation service providers integrate their technology with computer applications, none of these providers have yet integrated their services with interactive television applications.
FIGS. 1b-1h depict typical output screens from the Flyswat product. In FIG. 1b, a web page is retrieved having test data 50. Flyswat is used to activate a line of test data 50 called xe2x80x9cwww.tesfly2xe2x80x9d. Flyswat detects the xe2x80x9cwwwxe2x80x9d and in response, unsuccessfully performs a resolution request shown in the location field 54. However, in FIG. 1c, when Flyswat is used to activate a line of test data 50 called xe2x80x9ctestfly.comxe2x80x9d, a pop-up box 58 is displayed listing a link for the definition of the word xe2x80x9ctestflyxe2x80x9d demonstrating that the Flyswat product does not have the ability to detect the presence of a domain name. In FIG. 1d, Flyswat is used to activate a line of test data 50 called xe2x80x9cftp.testfly3.comxe2x80x9d and in FIG. 1e, Flyswat is used to activate a line of test data 50 called xe2x80x9cwww2.testfly4.comxe2x80x9d. In both cases, a pop-up box 58 is displayed listing a definition link instead of performing a resolution request or any other kind of request. In FIG. 1f Flyswat is used to activate a line of test data 50 called xe2x80x9ctest@testfly5.comxe2x80x9d and in FIG. 1g, Flyswat is used to activate a line of test data 50 called xe2x80x9c216-231-1234xe2x80x9d. Yet again, a pop-up box 58 is displayed listing a definition link demonstrating that the Flyswat product does not have the ability to detect the presence of an e-mail address or telephone number. In FIG. 1h, when Flyswat is used to activate a line of test data 50 called xe2x80x9cIsthiskeywordregisteredxe2x80x9d, a pop-up box 58 is displayed listing a definition link, but no links are provided for neither determining whether the line of test data is a registered keyword nor a link for accessing registration services.
FIGS. 1i-1j depict typical output screens from the GuruNet product. In FIG. 1i, when GuruNet is used to activate a line of test data 50 called xe2x80x9ctestfly.comxe2x80x9d, a pop-up box 58 is displayed listing that no match has been found for xe2x80x9ctestfly.comxe2x80x9d demonstrating that the GuruNet product nor any partnered search engines does not have the ability to detect the presence of a domain name. GuruNet has partnered with RealNames enabling users to place their cursor on a word or phrase, hold down the ALT key and click. GuruNet then displays an unobtrusive pop-up box that shows content related to the word or phrase selected, including the RealNames Internet Keywords associated with the term. However, in FIG. 1j, when GuruNet is used to activate a line of test data 50 called xe2x80x9cIsthiskeywordregisteredxe2x80x9d, a pop-up box 58 is displayed listing that no match has been found, indicating that the line of test data is not a registered keyword nor are any links provided for accessing registration services for registering the unregistered keyword.
A system or process is typically modeled by defining the elements or components within such a system and further defining the corresponding relationships of such elements with each other and/or the relationships of such elements to other systems and their respective elements. Elements or components are most typically defined as objects having properties or functions associated with such objects. Objects are distinguished by assigning a unique identifier for each object creating an object space. Identifiers are symbols, markings, characters, names, or labels used for distinguishing, tracking, tagging, coding, sorting, routing, locating, linking, and organizing any combination of objects, resources, and addresses of a given system or across multiple systems. Indicia are identifiers used for referencing objects of physical or abstract resources. An identifier is static and has a persistence that usually takes the form of a name or label to help people remember and commonly agree upon the identification of an object for a given system. In effect, for any given object space there is typically defined an associated naming system. Each naming system may include one or more namespaces. In some naming systems, identifiers may be allocated, assigned, reserved, subscribed, or registered to an object or entity such as an individual or organization. Examples of such registered identifiers include Social Security Numbers (SSN), license plate numbers, Universal Product Codes (UPC), International Standard Book Numbers (ISBN), trademarks, tradenames, company names, stock symbols, broadcast station call letters, telephone numbers, domain names, keywords, FDNs, screen names, user names, etc.
Each naming system has respectively originated and evolved for its own reasons, in its own way and in its own time. Identifiers take on meaning only from within its own naming system and generally remains exclusive to other naming systems. In recent years, identifiers are beginning to persist across other naming systems. For instance, there is a recent correlation between telephone numbers and trademarks. During the early 1970""s, as 1-800 toll free numbers were introduced, industry recognized and extended the use of mnemonics for commercial advertising and name branding. During the 1980""s, 1-800 names were popularized to the point where brokers would buy names with the hope of selling or leasing the 1-800 names from their growing portfolio. In fact, courts have almost unanimously held that telephone mnemonics may be protected as trademarks.
Another area of crossover is with respect to trademarks and domain names. Historically, Internet domain names were assigned on a xe2x80x9cfirst come, first servexe2x80x9d basis. On the Internet, until very recently, no trademark searches are done, and unlike other computer networks, no central authority exists. Due to recent trademark infringement controversies, applications for domain names now require applicants to state that they have a commercial right to use the applied for name. It is clearly evident that the assignment and management of identifiers, for example, domain names, is important. Efficient methods of implementing a process for the assignment of domain names is of paramount importance. As a result, there have been some services that have incorporated the extra step of searching for trademark conflicts prior to the registration of a domain name. Services of this nature may be found at web addresses such as xe2x80x9chttp://www.thomson-thomson .comxe2x80x9d or xe2x80x9chttp://nameprotect.comxe2x80x9d.
U.S. Pat. No. 5,881,131 issued on Mar. 9, 1999 by Farris, et al., entitled, xe2x80x9cAnalysis and validation system for provisioning network related facilitiesxe2x80x9d discloses a service order processing system which determines a service request is provisionable and automatically provisions customer facilities including at least one of a domain name, a user name, a customer network address, and an electronic mail address, to execute the service request based upon information stored by the service order processing system. In addition, the ""131 patent discloses a system to access various trademark/tradename databases for determining any trademark conflicts with respect domain name availability. Such a system is used to provision physical network facilities as well as logical network facilities, such as identification related data, electronic mail, user name, domain name, and the like. Though the system contemplates the provisioning of identifiers for different naming systems, there is no mention or teaching of provisioning identifiers that intentionally have a specific correlation or connection to each other in order to help create a more unified identity across multiple naming systems.
WIPO Patent Application Serial WO9909726A1 published on Feb. 25, 1999 by Broadhurst, entitled, xe2x80x9cMethod of determining unavailability of internet domain namesxe2x80x9d discloses an improved query server that overcomes the shortcomings of existing domain name searching techniques by performing a multitude of searches simultaneously, transparent to the user. Specifically, the improved query server searches for existing domain name records in various domains and then displays the results in a formatted manner, thus eliminating the need for a user to perform individual searches. However, such techniques of finding similar identifiers are applied to the DNS only, which is a single naming system and does not consider multiple naming systems.
U.S. provisional patent application Ser. No. 60/157,075 filed Oct. 1, 1999, by Schneider, entitled xe2x80x9cMethod and apparatus for integrating resource location and registration services of valid and fictitious domain namesxe2x80x9d discloses a robust system for managing both the resolution and registration of domain names having either a TLD or a TLDA. However, there is no mention in the specification of the simultaneous registration of an identifier that can have both a TLD and TLDA. RealNames Corporation and other companies like Netword, Inc. use plain language as a means for resource location and have developed their own version of resolution services by administering a keyword registry. Through partnerships and distribution channels, many web sites offer the possibility of searching for or even registering either a RealNames xe2x80x9cInternet Keywordxe2x80x9d or a domain name. But none of these sites integrate these separate services to determine the simultaneous availability and/or registration of such similar identifiers across plural naming systems.
To date, the determination of the availability and/or registration of similar identifiers across naming systems have never been specified leaving the availability and/or registration of such identifiers as steps to be determined independently. New utility can be demonstrated by combining the simultaneous registration across naming systems. Accordingly, in light of the above, there is a strong need in the art for a method and apparatus for determining the availability of similar identifiers across naming systems.
Though co-pending application Ser. No. 60/130,136 (now abandoned) solves the problem of integrating resource location and registration services, the subject matter pertains to valid domain names only [e.g., a domain name having a TLD or resolvable highest level domain (HLD)]. Though other applications Ser. Nos. (60/125,531; 60/135,751; 60/143,859 [now abandoned]) enable the use of resolving FDNs (e.g., a domain name having an unresolvable HLD or top level domain alias (TLDA), fictitious indicia of the minimum form xe2x80x9cA.Bxe2x80x9d, etc.) the subject matter presents resource location and registration integration, that pertain to fictitious domain names only. Resource location and registration for valid domain names versus fictitious domain names have remained separate systems each with its own exclusive functionality. New utility can be demonstrated by combining these separate systems.
Accordingly, in light of the above, there is a strong need in the art for a system and method for integrating resource location and registration services for both valid and fictitious domain names. In addition navigation services, search services, resolution services, and registration services have remained as separate services. New utility can be demonstrated by combining these separate services into a unified service. Accordingly, in light of the above, there is a strong need in the art for a method, product, and apparatus for processing a data request while integrating navigation services, resolution services, search services, and registration services of valid and fictitious identifiers across naming systems.
The present invention assures that a response type may be automatically selected when a data request cannot be processed. The invention integrates the processing of fictitious domain names, valid domain names, multilingual domain names, resolvable domain names, available domain names, and/or keywords/phrases with prefixes, spelling, input history, multiple identifiers, search requests including Autosearch, registration and other request types. The present invention provides an error message that is more specific in response to trying to locate an invalid domain name, invalid IP address, or a valid domain name determined unresolvable.
The invention may use a template of the MSIE autosearch feature for the purposes of name generation and registration rather than purpose of searching in lieu of making browser modifications resulting in the savings of distribution costs for software updates. The present invention generates and displays at least one hyperlink at the top of standard search results where the link may access a URI or NIC registration of an available domain name in the form of xe2x80x9ckeyword.TLDxe2x80x9d. The invention assists users in selecting vendors or portals across separate systems and combine results from each service into a unified result through a metaportal.
The present invention allows portions of a URI to be used as a search request to select advertising. The invention assists providers with name generation and the suggestive selling of identifiers. The present invention enables banner ads to be populated with available identifiers in real time. The invention provides the option of displaying a hyperlink instead of an identifier status region and have more display space on a web site available for other uses such as generating revenue from other content such as banner ads and news.
The present invention detects and/or generates identifiers in response to real-time data streams from input sources such as instant messaging, chat rooms, web conferencing, interactive television, of from any broadcast. The invention helps unify a continuous identity by concurrently registering the same identifier and/or similar identifiers across a plurality of separate namespaces or naming systems. The present invention provides the user with the ability to create a profile or identifier watch list while registering an available identifier. The invention enables users to sign-up registrant information, in advance to minimize the information needed from the registrant at the point of registration. The present invention enables users to buy gift certificates and tell a friend about the sign-up program.
The invention provides for the transmission and propagation of identifiers having an available status throughout a series a distributed hierarchical identifier status caches. The present invention enables an identifier status cache to provide a real-time dynamic content stream for news, banner ads, ticker tape, and the like. The invention enables distributed WHOIS caches to be distributed in a manner similar to the DNS for reduced bandwidth and increased lookup performance.
In general, in accordance with the present invention a method for processing a first data request having a first identifier and a first request type includes the steps of determining whether the first data request can be processed from the first identifier and the first request type, processing the first data request in response to determining that the first data request can be processed, selecting a response type in response to determining that the first data request can not be processed, generating a second data request that can be processed in response to selecting the response type, and processing the second data request in response to generating the second data request.
In addition, the second data request may correspond to the first data request. The response type may include a first response method having the first identifier and a second request type and/or a second response method having a second identifier and the first request type. The response type may automatically determine whether to select the first response method or select the second response method. The second request type may correspond to the first identifier so that the second data request can be generated and processed from the first response method. The second response method may further include generating the second identifier so that it corresponds to the first request type. The second data request may also be generated and processed from the second response method. The first request type and the second request type may be selected from one of a prefix request, suffix request, command request, resolution request, redirection request, search request, identifier registration request, commerce request, subscription request, navigation request, dialing request, messaging request, conferencing request, vendor request, service request, login request, status request, authorization request, and reference request.
The second request type is the identifier registration request when the first request type may be any request other than that of the identifier registration request. The first data request may have a resolution request and a first identifier, and include the locating of at least one network resource from the first identifier by determining whether the first identifier includes a domain name or valid IP address, generating the second data request from the selected response .type in response to determining that the first identifier does not include the domain name or the IP address, and processing the second data request in response to generating the second data request. The first identifier may also include a domain name that may be fictitious, valid, multilingual, resolvable, and/or available.
Locating the network resource from the first identifier may further include the steps of determining whether the domain name is fictitious, generating an accessible valid second identifier in response to determining that the domain name is fictitious, accessing the network resource corresponding to the second identifier in response to generating the second identifier, determining whether the domain name is valid in response to determining that the domain name is not fictitious, generating an accessible valid third identifier in response to determining that the domain name is not valid, accessing the network resource corresponding to the third identifier in response to generating the third identifier, determining whether the domain name is resolvable in response to determining that the domain name is valid, determining whether the first identifier is valid and accessible in response to determining that the domain name is resolvable, accessing the network resource corresponding to the first identifier in response to determining that the first identifier is valid and accessible, generating an accessible valid fourth identifier in response to determining that the first identifier is not valid or accessible, accessing the network resource corresponding to the fourth identifier in response to generating the fourth identifier, determining whether the valid domain name is available for registration in response to determining that the domain name is not resolvable, providing a registration interface in response to determining that the domain name is available for registration, and providing registrant information in response to determining that the domain name is not available for registration.
The first data request may also have a search request and at least one keyword or phrase. The search request may be processed with the Autosearch feature by selecting a search template, identifier generation template, and/or registration template. Processing the search request may further include the steps of determining whether the keyword or phrase is registered, locating at least one network resource corresponding to the keyword or phrase in response to determining that the keyword or phrase is registered, determining whether to register the keyword or phrase in response to determining that the keyword or phrase is not registered, processing the registration request in response to determining that the keyword or phrase is to be registered, determining whether the search request includes a prefix in response to determining that the keyword or phrase is not to be registered, processing the prefix request in response to determining that the search request includes the prefix, determining whether to generate at least one identifier other than that of a keyword to include with search results of the search request in response to determining that the first identifier does not include the prefix, generating at least one identifier other than that of a keyword from the first identifier in response to determining that at least one identifier other than that of a keyword is to be generated, determining status for each the generated identifier in response to generating the identifier, processing the search request having search results including access to the status in response to determining the status for each the generated identifier, and processing the search request having search results without providing the status in response to determining that at least one identifier other than that of a keyword is not to be generated.
In accordance with yet additional aspects of the present invention, an apparatus which implements substantially the same functionality in substantially the same manner as the methods described above is provided.
In accordance with other additional aspects of the present invention, a computer-readable medium that includes computer-executable instructions may be used to perform substantially the same methods as those described above is provided.
The foregoing and other features of the invention are hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail one or more illustrative aspects of the invention, such being indicative, however, of but one or a few of the various ways in which the principles of the invention may be employed.